python学习笔记八:pandas处理丢失数据

您所在的位置:网站首页 pandas 指定行fillna python学习笔记八:pandas处理丢失数据

python学习笔记八:pandas处理丢失数据

#python学习笔记八:pandas处理丢失数据| 来源: 网络整理| 查看: 265

python学习笔记八:pandas处理丢失数据 原创

wx5bcdb7bce145c 2023-02-18 09:51:08 博主文章分类:python ©著作权

文章标签 pandas处理丢失的数据 数据 python 浮点 文章分类 JavaScript 前端开发

©著作权归作者所有:来自51CTO博客作者wx5bcdb7bce145c的原创作品,请联系作者获取转载授权,否则将追究法律责任

有两种丢失的数据:None是python自带的,其类型为python.object,因此,None不能参与到任何计算中,object类型的运算要比int类型的运算慢得多np.nan(NaN)是浮点类型,能参与到计算中,但计算的结果总是NaNimport numpy as npimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as plt

df = DataFrame({'age':[20,21,23,19,22],'salary':[10000,11000,9900,8500,15000]}, index=['张三','李四','王五','赵六','童七'],columns=['age','salary','work'])df

python学习笔记八:pandas处理丢失数据_浮点

将李四到赵六之间的人的工作设为programmer :

df.work['李四':'赵六'] = 'programmer'df

 

python学习笔记八:pandas处理丢失数据_浮点_02

 找到空数据和保留非空数据:

#找到空数据s1 = df.isnull().any(axis=1)#any只要有一个为True,就返回True#有了s1数据,则可以获取哪些数据为空,只要有一个属性为空,则该行数据就没用,认为是空print(df[s1])

#保留非空的数据s2 = df.notnull().all(axis=1)#all都为True才返回Trueprint(df[s2])

python学习笔记八:pandas处理丢失数据_python_03

利用过滤函数dropna()过滤掉空数据: 

#过滤函数dropna()print(df.dropna())#默认axis=0即为行,how='any'即哪一行只要有一个空数据就把该行剔除掉df.dropna(axis=1)#axis=1时为列,how='any'哪一列即哪一个属性中只要有一个空数据就把该列剔除掉

python学习笔记八:pandas处理丢失数据_浮点_04

只有某一行或某一列数据全为空时才剔除掉:

df.loc['张三'] = np.nanprint(df)df.dropna(how='all')#默认axis=0即为行,how='any'哪一行全部为空才把该行剔除掉

python学习笔记八:pandas处理丢失数据_python_05

利用填充函数fillna()对空数据进行填充:

df.fillna(value = 'student')#全部填充

print(df)

print(df.fillna(method='ffill'))#按行由前向后填充

print(df.fillna(method='bfill'))#按行由后向前填充,默认axis=0,即按行填充,若inplace=True,就是在原来的数据上进行修改,默认为False即重新创建一个DataFrame

python学习笔记八:pandas处理丢失数据_数据_06

用给定值全部填充空数据

python学习笔记八:pandas处理丢失数据_浮点_07

按行由前向后填充

python学习笔记八:pandas处理丢失数据_浮点_08

按行由后向前填充

 

 

小 练习:

df1 = DataFrame(np.random.randint(0,150,size=(4,3)),index=['张三','李四','王五','赵六'],columns=['语文','数学','英语'])print(df1)

#将张三的英语成绩记为NaNdf1['英语']['张三'] = np.nanprint(df1)

#用数学成绩填充英语成绩print(df1.fillna(method='ffill',axis=1))

#用李四的英语成绩填充张三的英语成绩print(df1.fillna(method='bfill'))

python学习笔记八:pandas处理丢失数据_数据_09

收藏 评论 分享 举报

上一篇:halcon第二十二讲:单目标定基本原理

下一篇:python学习笔记七:DataFrame



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3